/**
* 字典管理
* @constructor
*/
function Dict() {
}

Dict.init = function () {

$('#tableList').bootstrapTable({
url: '/dict/tableSearch',
method: 'post',
striped : true, //是否显示行间隔色
toolbar: "#toolbar",
sidePagination: "true",
dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
showToggle : true, //是否显示详细视图和列表视图的切换按钮
striped: true, // 是否显示行间隔色
//search : "true",
uniqueId: "id",
pageList : [ 5, 10, 20,50,100],//可选择单页记录数
pageSize: "10",
pagination: true, // 是否分页
sortable: true, // 是否启用排序
sidePagination: 'server', // 设置为服务器端分页     客户端：client
search:false,
showColumns: true,
showRefresh: true,
showExport: true,
//得到查询的参数
queryParams: function (params) {
//这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
var query_params = {
//********table的参数 不变
pageSize: params.limit,                         //页面大小
pageIndex: (params.offset / params.limit) + 1,   //页码
sort: params.sort,      //排序列名
sortOrder: params.order, //排位命令（desc，asc）
//********
//获取查询的对象，往下加入
enterprise: $('#search_Enterprise').val(), // 请求时向服务端传递的参数
};
return query_params;
},
columns: [
{
//field: 'Number',//可不加
title: '序号',//标题  可不加
align: "center",
width: 40,
formatter: function (value, row, index) {
var pageSize=$('#tableList').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
var pageNumber=$('#tableList').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
}
},
{ field: 'name', title: '标签名',align: 'center'},
{ field: 'value', title: '数据值',align: 'center'},
{ field: 'type', title: '类型',align: 'center'},
{ field: 'description', title: '描述',align: 'center'},
{ field: 'sort', title: '排序（升序）',align: 'center'},
{ field: 'parent_id', title: '父级编号',align: 'center'},
{ field: 'create_by', title: '创建者',align: 'center'},
{ field: 'create_date', title: '创建时间',align: 'center'},
{ field: 'update_by', title: '更新者',align: 'center'},
{ field: 'update_date', title: '更新时间',align: 'center'},
{ field: 'remarks', title: '备注信息',align: 'center'},
{ field: 'del_flag', title: '删除标记',align: 'center'},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var optionHtml = "";
optionHtml = optionHtml+"<a class=\"btn btn-success btn-xs\"  href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"edit\")' title=\"修改\" ><i class=\"fa fa-edit\"></i>修改</a>";
optionHtml = optionHtml + " <a class=\"btn btn-danger btn-xs\" href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"delete\")'  title=\"删除\"><i class=\"fa fa-remove\"></i>删除</a>"
return optionHtml;

}
}
]
});
}


//查询方法****************************
function doSearch() {
// $('#tableList').bootstrapTable(('refresh')); // 很重要的一步，刷新url！
$("#tableList").bootstrapTable("refreshOptions",{pageNumber:1});
}
//重置****************************
function doRest() {
$("#search_Enterprise").val("");
// $('#tableList').bootstrapTable(('refresh')); // 很重要的一步，刷新url！
$("#tableList").bootstrapTable("refreshOptions",{pageNumber:1});
}
//增加方法****************************
var Action="";
var id=0;
var pxt="/dict"; //控制器名称
function addRecord() {
id=0;
Action="add";
$("#myform")[0].reset();

}
//增加/修改数据保存****************************
function saveRecord() {
if(!validateForm()) return false;
//创建传递的参数
var postdata = {
id: id,
action:Action,

name: $("#text_name").val(),
value: $("#text_value").val(),
type: $("#text_type").val(),
description: $("#text_description").val(),
sort: $("#text_sort").val(),
parent_id: $("#text_parent_id").val(),
create_by: $("#text_create_by").val(),
create_date: $("#text_create_date").val(),
update_by: $("#text_update_by").val(),
update_date: $("#text_update_date").val(),
remarks: $("#text_remarks").val(),
del_flag: $("#text_del_flag").val(),
};
// console.log(JSON.stringify(postdata));
//发送异步请求到后台保存用户数据
$.ajax({
url:pxt+(Action == "add" ? "/save":"/update"),
type:"post",
data:JSON.stringify(postdata),
contentType:"application/json",
dataType:"json",
success:function(data){
if (data.code === "200") {
$('#myModalAdd').modal('hide')
doSearch();
swal("操作成功!", "请继续操作", "success");
} else {
swal("操作失败!", "请重试", "error");
}
}
});
}

//操作相关方法****************************
function actionRecord(data,type) {
if(type=="edit")
{
//修改
id=data.id;
Action="edit";
$("#myform")[0].reset();
$("#save").removeAttr("disabled");
WriteData(data)
$('#myModalAdd').modal('show')
}
else
{
//删除
swal({
title: "确认是否删除",
text: "是否确认要删除该条记录？",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "删除",
cancelButtonText: "取消",
closeOnConfirm: false
}, function () {
//点击删除之后此处进行传递后台
$.ajax({
type: "delete",
url: pxt+"/deleteById/"+data.id,
dataType : "json",
contentType: "application/json",
success: function (data, status) {
if (data.code == "200") {
doSearch();
swal("删除成功!", "请继续操作", "success");
}
else{
swal("删除失败!", "请重试", "error");
}
}
});

});
}
}

//给控件赋值****************************
function WriteData(data) {
$("#text_name").val(data.name);
$("#text_value").val(data.value);
$("#text_type").val(data.type);
$("#text_description").val(data.description);
$("#text_sort").val(data.sort);
$("#text_parent_id").val(data.parent_id);
$("#text_create_by").val(data.create_by);
$("#text_create_date").val(data.create_date);
$("#text_update_by").val(data.update_by);
$("#text_update_date").val(data.update_date);
$("#text_remarks").val(data.remarks);
$("#text_del_flag").val(data.del_flag);
}

//表单验证*****************************
function validateForm() {
//validate方法参数可选
return $("#myform").validate({
rules: {

                                                },
//错误信息提示
messages: {
                                                },
}).form();

}
